The present invention relates generally to a computer numerical control (CNC) resident on a computerized workstation, such as a personal computer, and particularly to a system utilizing an open control interface that can be used to communicate with the resident CNC as well as a plurality of networked CNCs and other networked devices.
A variety of controls are used to monitor and control various types of machine motion. For example, processor-based controls, such as computer numerical controls or CNCs, are used to control the motion of machines, such as machine tools, that are used in a variety of manufacturing environments. A CNC, for instance, may be used to control the movements of a cutter on a machine tool when machining a part or component for use in the manufacture of a given product.
CNC-type controllers have become very popular due, in part, to their adaptability and relative ease-of-use in controlling machine motion. When machining a part, for example, a machine motion control program, e.g., part program, simply can be loaded into the CNC which then causes the machine to move according to the commands established by the part program. The control is designed to read the part program instructions and provide appropriate outputs to the various servos, stepper motors, etc. that physically move the components of the machine.
The CNC also may be used to monitor multiple items related to motion control. For example, in a closed loop system, a variety of sensors are disposed on the machine to provide outputs to the CNC indicative of various parameters, such as position and speed. The CNC compares the sensed parameters with the programmed parameters to detect and correct for any error between the values. As is understood by those of ordinary skill in the art, CNC-type controllers are able to process a wide variety of data related to controlling machine motion, monitoring machine motion, storing and manipulating part program data, etc.
Traditionally, CNCs have been configured in various ways depending on the CNC design established by the CNC manufacturer and/or end user. For example, CNCs typically have included a visual interface, such as a CRT, and a keyboard that allow machine control programs to be entered or edited directly at the CNC. In some systems, machine control programs can be prepared off site at a workstation, such as a personal computer, that is configured to permit an operator to prepare motion control programs in language syntax that is recognizable and useable by the CNC. The program is then loaded onto a storage medium, such as a punch tape, magnetic tape or diskette, and physically taken to the CNC where it is downloaded for use by the CNC in controlling machine motion. For some applications, the program may be transferred electronically from the personal computer to the CNC for execution. In any of these situations, the motion control program must be prepared in a format recognizable and useable by the CNC.
Simultaneously with the development of CNC-type machine controllers, personal computers and computer networks have evolved. Computer networks are now available to permit linking of multiple personal computers and other devices across a single network. For example, local area networks (LANs), such as an Ethernet network, can be used to connect multiple personal computers and data servers with each other and with other devices, e.g., printers and various instruments. The common network allows data to be transferred between the various devices linked to the network.
To permit the networked personal computers and other devices to communicate, it is necessary that the devices have compatible application programming interfaces (APIs) to permit data exchange. In the personal computer area, some common API choices are xe2x80x9cCxe2x80x9d application programming interfaces (CAPI), Dynamic Data Exchange (DDE(trademark)) and object linking and embedding (OLE) automation. Each of these choices has its own advantages and disadvantages depending on the PC operating systems, requirements for support on multiple operating systems, and technologies involved.
For example, the DDE data exchange mechanism has become very popular for use between Windows(trademark) operating system based applications. When using personal computers having Windows based operating systems, such as WindowsNT(trademark) and Windows95(trademark), the DDE data exchange mechanism may be the mechanism of choice.
With respect to both stand-alone personal computers and networked personal computers, the trend has been toward utilization of Windows-based applications. Consequently, a large percentage of personal computers presently have operating systems that utilize Windows-based applications. In many manufacturing and other machine control environments, it would be advantageous to network one or more CNCs with one or more PC-based workstations using a Windows(trademark) operating system. Applications, Ser. Nos. 08/979,128, now U.S. Pat. No. 6,144,895, 08/979,985 now U.S. Pat. No. 6,101,425, and 08/994,517, now U.S. Pat. No. 6,470,377, filed on Nov. 26, 1997, Nov. 26, 1997 and Dec. 19, 1997, respectively, disclose system for providing process-to-process communication between networked CNCs and workstations comprising a personal computer and are incorporated herein by reference. These systems provide great flexibility in the development and use of machine control programs.
It would be advantageous, however, to have such networking capabilities with a workstation that includes both the personal computer processor and the CNC, resident on the same station. Integrating the personal computer and the CNC into a single unit would provide seamless connectivity.
Previously, attempts were made to utilize a personal computer CPU for control of machines, such as machine tools, but the architecture of the typical personal computer had limited ability to control multiple axes and lower processing speeds. Thus, in conventional systems, the personal computer and the CNC have been packaged as separate units.
The present invention addresses the various drawbacks and disadvantages discussed above.
The present invention relates to an open control interface system utilizing a computer having a central processing unit. The computer is used to facilitate accessing large varieties of CNC data and to provide commands to a CNC that is either resident with the computer or networked. The system includes a personal computer having an operating system that is a workstation-based operating system and on which an application may be run. The system also includes a protocol conversion module, and a CNC resident on the personal computer. The protocol conversion module to selectively communicate with either the CNC resident on the personal computer or a networked CNC, further wherein the protocol conversion module interacts with the application to convert data received from the application into a format suitable for use by either the resident or the networked CNC. The protocol conversion module also converts data received from the resident or the networked CNC into a format appropriate for the application resident on the personal computer. Furthermore, the system may utilize a file handler designed to support multiple CNCs, both resident and networked.
According to another aspect of the invention, a CNC system is provided that may be coupled to a machine to control machine motion. The system includes a computer having a processor and an open control interface resident on a workstation. The workstation also includes a computer numerical control having at least one processor. The computer numerical control is resident on the workstation. The system also includes a networked computer numerical control. Data is entered via the open control interface and is converted into a computer numerical control format such that an operator can read and write data and execute commands, i.e. monitor or control, the resident computer numerical control and/or the networked computer numerical control through the open control interface.
According to another aspect of the invention, a method is provided for utilizing an open control interface with a computer numerical control to increase the versatility of the computer numerical control. The method includes providing a computer workstation with an open control interface through which a computer processor may be utilized. The method further includes combining a computer numerical control with the computer workstation. The method also provides converting data, entered via the open control interface, into a format recognizable by the computer numerical control. Additionally, the method includes connecting the computer workstation to a network to permit communications between the open control interface and other networked devices, including but not limited to other networked CNCs.